<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>对象的解构</title>
    <script>
        const obj={
            name:'孙悟空',
            age:18,
            gender:'男'
        }
        let {name,age,gender}=obj
        console.log(name,age,gender)    //  声明变量，同时解构对象

        /* 如果先声明，再解构，就会将{}误认为代码块而报错,解决办法就是整体加（） */
        // let name,age,gender
        // ({name,age,gender}=obj)

        let {address}=obj   //没有的属性返回undefined


        // 注意这里address1:d='花果山'，是先去obj里面找属性，address1,如果没有变量d的值就是花果山
        let {name:a,age:b,gender:c,address1:d='花果山'}=obj // 给obj对象里的属性名起别名，address是自己输入的默认值
        // 冒号后面的才是变量名，前面的是obj里的属性名
    </script>
</head>
<body>
    
</body>
</html>